package service;

import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import pojo.User;
import utils.SqlSessionFactoryUtils;

public class UserService {

    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();

    public User login(String username, String password){
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.selectByUsername(username);
        if(user!=null){

            if(password.equals(user.getPassword())){

                return user;
            }else{

                return null;
            }
        }
        return null;
    }

    public boolean register(String username,String password){
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        User user = userMapper.selectByUsername(username);
        if (user!=null){
            //若成立，则代表数据库中有该用户
            return false;
        }
        User newUser = new User(null, username, password);
        int i = userMapper.add(newUser);
        sqlSession.commit();
        sqlSession.close();
        return i>0;
    }
    public boolean checkUsername(String username){
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        User user = userMapper.selectByUsername(username);
        if (user!=null){
            //若成立，则代表数据库中有该用户
            return true;
        }

        sqlSession.close();
        return false;
    }





}